package com.pengshun.modules.api.transport.service;

import com.pengshun.modules.api.transport.dto.CarNumberDto;
import com.pengshun.modules.api.transport.dto.FreightSettlementDto;
import com.pengshun.modules.api.transport.dto.TransportDto;
import com.pengshun.modules.api.transport.dto.TransportTakeCarriageDto;
import com.pengshun.modules.common.BaseResult;

public interface TakeTransportOrderService {

    /**
     * 车主接单列表
     * @param para
     * @return
     */
    BaseResult list(TransportDto para);

    /**
     * 司机接单列表
     * @param para
     * @return
     */
    BaseResult driverList(TransportDto para);

    /**
     * 运单状态更新
     * @param para
     * @return
     */
    BaseResult update(FreightSettlementDto para);

    /**
     * 车主 运输公司 运单详情
     * @param transportTakeOrderId
     * @return
     */
    BaseResult detil(Long transportTakeOrderId);

    /**
     * 司机接单详情
     * @param transportTakeCarriageId
     * @return
     */
    BaseResult driverDetil(Long transportTakeCarriageId);

    /**
     * 分配列表
     *
     * @param id
     * @param transportTakeOrderId
     * @param status
     * @return
     */
    BaseResult findAllotList(Long id, Long transportTakeOrderId, Integer status);

    /**
     * 分配保存
     * @param para
     * @return
     */
    BaseResult allotSave(CarNumberDto para);

    /**
     * 分配修改
     * @param para
     * @return
     */
    BaseResult allotUpdate(CarNumberDto para);

    /**
     * 车主/运输公司 车辆接单列表
     * @param para
     * @return
     */
    BaseResult ownerList(TransportDto para);

    /**
     * 车辆接单详情
     * @param TransportTakeCarriageId
     * @return
     */
    BaseResult ownerDetil(Long TransportTakeCarriageId);

    /**
     * 取消接单
     * @param id
     * @param transportTakeCarriageId
     * @return
     */
    BaseResult cancle(Long id, Long transportTakeCarriageId);

    BaseResult del(Long id, Long transportTakeCarriageId);

}
